The invention relates to color printing, and in particular, to apparatus and methods that smoothly transition between two colors that have a similar visual appearance but have different gray component replacement levels.
In digital printing, a hardcopy output typically is printed on a four-color device from a digital image. Examples of four-color devices include offset lithography in which the “four-color process” employs printing inks as colorants applied to paper by a printing press; gravure printing, which also employs printing inks applied to paper; off-press proofing systems, which employ toners as colorants to simulate the effect of an offset press; and computer-driven printers, which use a variety of technologies and colorants, such as inks, toners, and dyes, applied in various continuous-tone, halftone, or dithered patterns. Most conventional four-color devices use three chromatic colorants, which are commonly chosen to be the subtractive primaries cyan, magenta, and yellow (commonly referred to collectively as “CMY”), and an achromatic, or black, colorant (commonly referred to as “K”).
To print a digital image on a four-color device, it typically is necessary to convert colors between different device color spaces. For example, a color image that has been scanned on a color scanner typically is defined in terms of red, green and blue (collectively called “RGB”) colorants. If the scanned image is to be viewed on a color monitor, the color image data typically must be converted from the color space of the scanner to the color space of the monitor. Moreover, if the scanned or displayed image also is to be printed on a CMYK color printer, the color image data must be converted from the color space of the scanner (or the monitor) to the color space of the printer. Thus, it typically is necessary to convert between the color spaces defined by the colors measured by the scanner, the RGB used by the monitor, and CMYK used by the printer.
To perform such conversions, previously known color management systems typically use output profiles to describe the calorimetric properties of devices. Each output profile commonly contains a forward transformations between a device-dependent color space and a device-independent color space, and a reverse transformation between a device-independent color space and a device-dependent color space. Thus, in the above example, a first output profile may be used to convert between the device-dependent color space of the scanner, and a device-independent color space. A second output profile may be used to convert between the device-independent color space and the device-dependent color space of the monitor, and a third output profile may be used to convert between the device-independent color space and the device-dependent color space of the CMYK printer.
A commonly-used device-independent color space is CIELAB, which was adopted by the Comission Internationale de l'Eclairage (International Commission on Illumination). Somewhere between the optical nerve and the brain, retinal color stimuli are translated into distinctions between light and dark, red and green, and blue and yellow. CIELAB indicates these values with three axes: L*, a*, and b*. L* represents lightness, whose values run from 0 (black) to 100 (white). a* represents red-green color, and has values that run from positive (indicating amounts of red) to negative (indicating amounts of green). b* represents blue-yellow color and has values that run from positive (indicating amounts of yellow) to negative (indicating amounts of blue).
Most colors printed using a CMYK device may be printed with a variety of different combinations of CMYK colorants. That is, many combinations of CMYK values map to the same L*a*b* value and hence have the same visual color appearance. Specifically, most of the colors produced by the K component alone can be produced by a combination of CMY components. Therefore, for colors that contain non-zero CMY values for all three CMY components, one can reduce the amount of CMY and increase K to get the same color (unless K is already at its maximum of 100%). Likewise, for colors that contain non-zero K values, one can decrease the amount of K and increase the amount of CMY to get the same color (unless any of CMY are already at their maximum of 100%).
In general, these options can be thought of as different balances between the amount of K and the amount of a neutral combination of the primary colorants CMY. Because the printed colors theoretically appear identical, the choice among these options typically is made according to considerations of process control and repeatability, limits of the printing technology, cost, aesthetic taste, and the like. Some of the common approaches to the usage of K versus CMY are referred to in the art as Under-Color Removal (“UCR”) and Gray-Component Replacement (“GCR”).
Previously known techniques for generating output profiles typically include GCR level as one component in the process used to generate the profile. In particular, a set of test patches is printed on an output device, and the patches are measured with a colorimeter. The measured values and a desired GCR level then are used to determine the output profile for the printer. Although the output profile therefore has an implied GCR level, a typical user of the printing device (e.g., a graphic artist printing an image from a page layout program to the output device) typically does not know the GCR level that is implied in the output profile. Nevertheless, if the user seeks to carefully control the GCR level of the printed output, the implied GCR level of the printer's output profile may affect the user's ability to achieve a specific GCR level in the printed output.
Referring now to FIGS. 1 and 2, previously known color processing systems are described that illustrate this phenomenon. In particular, FIG. 1 illustrates previously-known color processing system 10, that includes first color converter 14, color processing module 16, and second color converter 18. First color converter 14 converts device-dependent color values to device-independent color values. The output of the first color converter is then provided to color processing module 16, which may include one or more modules that perform color processing in device-independent color space. Finally, second color converter 18 converts device-independent color values to device-dependent values for printing by printer.
One such previously known color processing system for editing spot colors is illustrated in FIG. 2. In particular, color processing system 10′ includes output profile forward lookup table 14′, tint module 16′ and output profile reverse lookup table 18′. A spot color processing system, such as system 10′, typically permits a user to specify colors in a CMYK color space. Spot colors are colors that typically use specialized inks to produce colors that cannot be produced by conventional CMYK inks. Nevertheless, it often is useful to approximate such spot colors using CMYK inks, and therefore the ability to edit CMYK values that correspond to spot colors is a desirable feature. Spot colors, just like CMYK colors, may be specified as tints which are percentages of colorant. That is, if the solid spot color is 100%, spot color tints may be specified as percentages less than 100%. It is desirable that a color processing system that simulates spot colors by using CMYK values also should simulate spot color tints.
One approach to approximating spot color tints is to multiply the CMYK values for the solid (100%) spot color by the tint value (percentage). Thus, for example, a 30% spot color tint would have CMYK values that are 30% of those of the solid 100% spot color CMYK values. This approach is not very accurate, however, because the color balance of CMY going from 100% to 0% is not constant. As a result, merely applying a tint value (percentage) to CMYK values will result in an unintended hue shift. A better approach to approximating spot color tints is to convert the CMYK values to device-independent color values (such as L*a*b* values), and then scale the corresponding L*a*b* values, which generally does not result in a hue shift.
Thus, as shown in FIG. 2, output profile forward lookup table 14′ converts input color values CMYKI to device-independent color values L*a*b*I. Tint Module 16′ may include processes or apparatus that tint spot colors by scaling L*a*b*I values. If tinting is performed in L*a*b* color space, however, the tinted colors ultimately must be converted back to CMYK space, such as by using output profile reverse lookup table 18′. Because the GCR level of the user-specified spot color typically differs from the GCR level implied by output profile reverse lookup table 18′, CMYKO may appear calorimetrically similar to CMYKI, but may have component values that substantially differ from CMYKI at 100%. Indeed, there are many more possible arbitrary CMYK colors that may be specified by a user compared to the specific subset of CMYK colors defined by output profile reverse lookup table 18′. As a result, the GCR level of CMYKO may substantially differ from the GCR level of CMYKI, and the printed output colors may not actually appear as desired by the user.
It therefore would be desirable to provide color processing methods and apparatus that smoothly transition from an arbitrary CMYK color to the CMYK values as specified in the output profile of the system.
It further would be desirable to provide color processing methods and apparatus that estimate the GCR level of arbitrarily specified CMYK values and the implied GCR level of an output profile, and provide output CMYK values that are based on a blend of the estimated GCR levels.
It still further would be desirable to provide color processing methods and apparatus that provide CMYK values that approximate tints of spot colors, and that are based on a blend of the estimated GCR level of user-specified CMYK values that approximate the spot color, and the implied GCR level of an output profile.